#include <stdlib.h> требуется только для объявления функции int putenv(envstring); объявление строки char *envstring; окружения
Описание.
Функция putenv добавляет новые переменные окружения или модифицирует значения существующих переменных окружения.
Переменные окружения определяют окружение, в котором выполняется процесс (например, поиск по умолчанию path для библиотек, линкуемых вместе с программой).
Аргумент envstring должен быть указателем на строку в следующей форме:
varname = string,
где varname имя добавляемой или модифицируемой переменной окружения и string значение этой переменной. Если varname уже является частью окружения, она заменяет существующую строку string , иначе к окружению добавляется новая строка string . Значение переменной может быть установлено пустым, если string пустая.
Указатель на вход (запись) окружения не освобождается до тех пор, пока вход (запись) окружения остается неизменным при использовании или пока переменная окружения не будет указывать на освобожденное пространство. Аналогичная проблема может возникнуть, если передается указатель на локальную переменную для функции putenv , а затем происходит выход на функцию, в которой объявлена переменная.
Возвращаемое значение.
Функция putenv возвращает 0, если она успешно отработала. Возвращаемое значение -1 указывает на ошибку.
Замечание:
Функции getenv и putenv используют глобальную переменную environ для доступа к таблице переменных окружения. Функция putenv может изменять значение environ , делая недействительным аргумент "envp " для функции "main ".
Пример:
#include<stdlib.h> #include<stdio.h> #include<process.h> /* попытка изменения переменной окружения */ if (putenv("PATH=a:\\bin;b:\\tmp") == -1) { printf("putenv failed -- out of memory"); exit(1); }